#ifndef DXF_H
#define DXF_H

#include <QFile>
#include <stdio.h>

#define DXF_GPCODE_OBJECT 0  // 表示图元类型的字符串（固定）

#define DXF_GPCODE_NAME 2  // 名称（属性标记、块名等）

class dxf {
  public:
    dxf();
    dxf(QString filename);

  private:
    int lineNum;  // 线段数量

  public:
    QFile   fp;           /*!< File handle. */
    QString filename;     /*!< Dxf filename. */
    int     line_number;  /*!< Last line read. */
    int     last_id_code; /*!< Last id code written to, or read from, file. */
    int     id_code;
    QString id_str;

  public:
    int     file_open();
    void    file_close();
    int     get_couple_line();
    int     get_id_code();
    QString get_id_str();
    bool    is_section();  // id_code == 0
    bool    is_comment();  // id_code == 999
    void    dxf_parser();
    bool    is_dxf_end();
    bool    dxf_read_couple();

    int dxf_section_read();
};

#endif  // DXF_H
